<?php

namespace WebExpres\IdiomasBundle\Controller;

// Aquestes son les classes que afegire per defecte
use WebExpres\HotelBundle\Controller\HotelController;
use Symfony\Component\HttpFoundation\Request;

// Aqui posare funcions d'ajuda que tindra el Bundle
use WebExpres\IdiomasBundle\IdiomasBundle;

// Aqui vaig instacia de la classe que gestiona la BBDD
use WebExpres\HotelBundle\Entity\Hoteles;
use WebExpres\HotelBundle\Entity\HotelesIdioma;

class IdiomasController extends HotelController
{
    
    public function indexAction()
    {
        
        $Configuracio = $this->controlOpcio();
        //$HotelsPublicats = $this->consultaHotelsPublicats(0);
        $HotelsPublicats = $this->consultaGetHoteles(0);
        $languages = $this->consultaLanguages(0);
        $hotelsIdiomes = $this->consultaHotelIdioma(0);
        
        switch ($Configuracio) {
            case 1:
            case 2:
            
                // Es Cadeno o Hotel
                
                // Aqui miro si ha hotels
                if (count($HotelsPublicats) == 0) {
                    
                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir idiomas, tienes que crear un Hotel.");
                    
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));
                    
                } else {
                
                    // Hi ha hotels
                    return $this->render('IdiomasBundle:Default:listidiomeshotel.html.twig', array("configuracio" => $Configuracio, "hotelspublicats" => $HotelsPublicats, 'languages' => $languages, 'hotelsIdiomes' => $hotelsIdiomes));
                
                }

            break;
            default:

                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));

            break;
        }
 
    }
    
    public function publicaAction($idlinea) {
        
        // Comprovo si la $idlinea es diferent a 0, per que si es diferent a 0 vol dir que li passem un id
        if ($idlinea != 0) {
            
            // Passem un $idhotel, ara es te que mirar si aquesta id es bona
            
            $resultados = $this->consultaHotelIdioma($idlinea);
            
            // Aqui comprovo que sigui $idlinea bona
            if (!is_null($resultados)) {
                
                // $idlinea es bona
    
                if ($resultados->getPublished() == 1) {

                    $message = "El Idioma ha sido despublicado correctamente.";
                    $resultados->setPublished(0);

                } else {

                    $message = "El Idioma ha sido publicado correctamente.";
                    $resultados->setPublished(1);

                }

                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($resultados);
                $em->flush();

                $this->get('session')->setFlash("success", $message);

                return $this->redirect($this->generateUrl('IdiomasBundle_homepage'));
            
            } else {
            
                // idhotel es dolenta
                
                $this->get('session')->setFlash("error", "Esta intentando modificar un Idioma que no existe.");
                
                return $this->redirect($this->generateUrl('IdiomasBundle_homepage'));
            
            }
            
            
        } else {
            
            // No li estem passant cap $idhotel
            
            $this->get('session')->setFlash("error", "No ha escogido ningun Hotel");

            return $this->redirect($this->generateUrl('IdiomasBundle_homepage')); 
            
        }
        
    }    
    
}
